'use strict';
const db = uniCloud.database();
// 使用uniCloud公共模块导入方式
const uniID = uniCloud.importObject('uni-id');

exports.main = async (event, context) => {
  try {
    // 获取用户ID - 使用uni-id提供的用户认证信息
    let userId = null;
    let tokenStatus = 'valid';
    
    console.log('接收到的token:', event.uniIdToken ? event.uniIdToken.substring(0, 20) + '...' : '无token');
    
    if (event.uniIdToken) {
      // 这里是用户认证逻辑
      try {
        const userInfo = await uniID.checkToken(event.uniIdToken);
        
        if (userInfo.code === 0) {
          userId = userInfo.uid;
          console.log('token有效，用户ID:', userId);
        } else {
          console.log('token无效:', userInfo.message);
        }
      } catch (error) {
        console.error('token验证错误:', error);
      }
    } else {
      console.log('未提供token');
    }
    
    // 统计用户收藏数量
    const favoriteCount = await db.collection('favorites')
      .where({
        user_id: userId
      })
      .count();
    
    // 统计用户下载历史数量
    const downloadCount = await db.collection('downloads')
      .where({
        user_id: userId
      })
      .count();
    
    return {
      code: 0,
      message: '获取成功',
      data: {
        favoriteCount: favoriteCount.total,
        downloadCount: downloadCount.total
      }
    };
  } catch (error) {
    console.error('获取用户统计数据失败:', error);
    return {
      code: 500,
      message: '获取统计数据失败',
      error: error.message
    };
  }
};